Skip to content

Vim 快捷操作笔记

字数
695 字
阅读时间
3 分钟
更新日期
11/2/2019

看到公司大佬用vim写代码真的很爽,所以我也开始用vim了。
这个笔记是看慕课网教程 https://www.imooc.com/learn/1129 的笔记。

基础设置

  • :vs (vertical split)水平分屏
  • :sp
  • control + w(window)
    • +w 在窗口间循环切换
    • +h
    • +j
    • +k
    • +l
  • :e 打开新文件
  • 设置行号
    • :set nu
  • 全局替换
    • :% s/java/python/g
  • 设置语法高亮
    • :syntax on
  • 自动补全锁进
    • :set autoindex

移动

  • w/W 移动下个单词头

  • e/E 移动下个单词尾

  • 0 移动到第一个字符

    • 有空行可以用w跳一下
  • $ 移动到最后一个字符

  • H(head)/M(middle)/L(lower) 屏幕开头 中间 结尾

  • control + o 快速返回

  • control + u,control + f (upword/forword)上下翻页

    • zz把屏幕放到中间

快速增删改查

  • dw,daw(delete around word 删除包含空格),diw(删除不包含空格) 删除单词
  • dt+{char} 删除直到{char}之前的内容
  • 数字+命令 多次重复
  • r (replace) R继续往下替换
  • c(change) caw 匹配字符删除并进入插入模式
  • s(substitute) 删除并进入插入模式
  • 查询
    • / ? 前向搜索或反向搜索
    • n/N 跳转下个或上个
  • I 头插入
  • A 尾插入

插入模式下快捷命令

  • control + h 删除上个字符
  • control + w 删除上个单词
  • control + u 删除整行
  • gi 回到上次编辑的插入模式

行间移动

  • f+{char} 移动到char字符
  • t(until)+{char} 移动到char前一个字符
  • ; 搜下下个
  • , 搜索上个
  • 跳转到某行
    • ngg或nG ,其中n代表数字
      • 例如跳到25行
      • 25gg 25G
    • 命令模式下输入行号
      • : n

vim 替换命令

  • :[range]s/{pattern}/{string}/[flag]
  • :% s/self/this/g
    • % 代表全部,替换self为this
  • :1,6 s/self/this/g
    • 1-6行范围文本替换
  • :1,6 s/self//n
    • 报告1~6行匹配数量

vim 复制粘贴

  • 代码行数错位, :set paste
  • 之后 :set nopaste 否则o插入时不会自动缩进

visutal model

选中{}中间的内容,不包括{}
va{ 选中{}中间内容,包括{}
选中()中间内容
vi< 选中<>中间内容
vi[ 选中[]中间内容
vit 选中中间的内容
vi” 选中”"中间内容
vi’ 选中”中间的内容、
vis 选中一个句子
vib 选中一个block
viw 选中一个单词
vip 选中一个段落

  • vim中使用q来录制,q结束录制
  • q{register a-z}选择要保存到的寄存器
  • @{register a-z}回放寄存器
  • 选中多行后 :normal @a

撰写